package com.easymin.weixin.entity.freight;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;

public class Waypoint implements Serializable {
  private Long id;

  private Long orderId;

  private String contacts;

  private String phone;

  private String address;

  private Double lat;

  private Double lng;

  private Integer sequence;

  private Long roadLineId;

  private Date udpated;

  private Date created;
  
  private Boolean arrive;//是否到达
  
  private Date arriveTime;//到达时间

  private static final long serialVersionUID = 1L;

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public Long getOrderId() {
    return orderId;
  }

  public void setOrderId(Long orderId) {
    this.orderId = orderId;
  }

  public String getContacts() {
    return contacts;
  }

  public void setContacts(String contacts) {
    this.contacts = contacts == null ? null : contacts.trim();
  }

  public String getPhone() {
    return phone;
  }

  public void setPhone(String phone) {
    this.phone = phone == null ? null : phone.trim();
  }

  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address == null ? null : address.trim();
  }

  public Double getLat() {
    return lat;
  }

  public void setLat(Double lat) {
    this.lat = lat;
  }

  public Double getLng() {
    return lng;
  }

  public void setLng(Double lng) {
    this.lng = lng;
  }

  public Integer getSequence() {
    return sequence;
  }

  public void setSequence(Integer sequence) {
    this.sequence = sequence;
  }

  public Long getRoadLineId() {
    return roadLineId;
  }

  public void setRoadLineId(Long roadLineId) {
    this.roadLineId = roadLineId;
  }

  public Date getUdpated() {
    return udpated;
  }

  public void setUdpated(Date udpated) {
    this.udpated = udpated;
  }

  public Date getCreated() {
    return created;
  }

  public void setCreated(Date created) {
    this.created = created;
  }
  
  public Boolean getArrive() {
	return arrive;
  }

  public void setArrive(Boolean arrive) {
	this.arrive = arrive;
  }

public Date getArriveTime() {
	return arriveTime;
}

public void setArriveTime(Date arriveTime) {
	this.arriveTime = arriveTime;
}

@Override
  public boolean equals(Object that) {
    if (this == that) {
      return true;
    }
    if (that == null) {
      return false;
    }
    if (getClass() != that.getClass()) {
      return false;
    }
    Waypoint other = (Waypoint) that;
    return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
        && (this.getOrderId() == null ? other.getOrderId() == null : this.getOrderId().equals(
            other.getOrderId()))
        && (this.getContacts() == null ? other.getContacts() == null : this.getContacts().equals(
            other.getContacts()))
        && (this.getPhone() == null ? other.getPhone() == null : this.getPhone().equals(
            other.getPhone()))
        && (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(
            other.getAddress()))
        && (this.getLat() == null ? other.getLat() == null : this.getLat().equals(other.getLat()))
        && (this.getLng() == null ? other.getLng() == null : this.getLng().equals(other.getLng()))
        && (this.getSequence() == null ? other.getSequence() == null : this.getSequence().equals(
            other.getSequence()))
        && (this.getRoadLineId() == null ? other.getRoadLineId() == null : this.getRoadLineId()
            .equals(other.getRoadLineId()))
        && (this.getUdpated() == null ? other.getUdpated() == null : this.getUdpated().equals(
            other.getUdpated()))
        && (this.getCreated() == null ? other.getCreated() == null : this.getCreated().equals(
            other.getCreated()));
  }

  @Override
  public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
    result = prime * result + ((getOrderId() == null) ? 0 : getOrderId().hashCode());
    result = prime * result + ((getContacts() == null) ? 0 : getContacts().hashCode());
    result = prime * result + ((getPhone() == null) ? 0 : getPhone().hashCode());
    result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
    result = prime * result + ((getLat() == null) ? 0 : getLat().hashCode());
    result = prime * result + ((getLng() == null) ? 0 : getLng().hashCode());
    result = prime * result + ((getSequence() == null) ? 0 : getSequence().hashCode());
    result = prime * result + ((getRoadLineId() == null) ? 0 : getRoadLineId().hashCode());
    result = prime * result + ((getUdpated() == null) ? 0 : getUdpated().hashCode());
    result = prime * result + ((getCreated() == null) ? 0 : getCreated().hashCode());
    return result;
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append(getClass().getSimpleName());
    sb.append(" [");
    sb.append("Hash = ").append(hashCode());
    sb.append(", id=").append(id);
    sb.append(", orderId=").append(orderId);
    sb.append(", contacts=").append(contacts);
    sb.append(", phone=").append(phone);
    sb.append(", address=").append(address);
    sb.append(", lat=").append(lat);
    sb.append(", lng=").append(lng);
    sb.append(", sequence=").append(sequence);
    sb.append(", roadLineId=").append(roadLineId);
    sb.append(", udpated=").append(udpated);
    sb.append(", created=").append(created);
    sb.append(", serialVersionUID=").append(serialVersionUID);
    sb.append("]");
    return sb.toString();
  }
}
